/********************************************************************************************************************************
 * 《C ++ Primer》第五版中文版，读书笔记：按照书中的的示例源码和每一个小章节的课后习题，自己动手写代码实现，作为联系和测试。
 * Date: 2024-03-30 19:31
 * Author: dimon.chen 
 * EMali: 1181302388@qq.com 
 * 
 * 章节: 第三章 数组，向量和迭代器
 *       3.3 标准库类型 Vector
 * 
 ********************************************************************************************************************************/

#include <iostream>
#include <string>
#include <cctype>
#include <vector>

using std::cout;
using std::cin;
using std::endl;
using std::string;


int main(int argc, char *argv[])
{
    std::vector<int>    ivec;                           //ivec保存int类型
    std::vector<std::vector<std::string>>   file;       //该向量的元素是 vector 对象

    //vector是模板而非类型，由vector生成类型必须包含vector中元素的类型，例如 vector<int>

    std::vector<int> v1;
    std::vector<int> v2(v1);
    std::vector<int> v3 = v2;
    std::vector<int> v4(10,3);
    std::vector<int> v5(10);
    std::vector<int> v6 {1,2,3,4,5};
    std::vector<int> v7 = {6,7,8,9};


    
    std::vector<int>::size_type len = v7.size();
    decltype(v7.size()) len2 = v7.size();
    auto len3 = v7.size();



    //range for
    //循环for语句
    for(int i : v1){
        std::cout << i << ", ";
    }
    std::cout << std::endl;

    return 0;
}
